﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;


namespace BLL
{
    public class User
    {
        private string Name { get; set; }
        private string Password { get; set; }
        private string Gender { get; set; }
        private int Age { get; set; }
        private string Email { get; set; }
        private int Authority { get; set; }
        //创建用户构造函数
        public User(string name, string password, string gender, int age, string email)
            : this(name,password,gender,email)
        {
            Name = name;
            Password = password;
            Gender = gender;
            Age = age;
            Email = email;
        }

        //重载构造函数，用于登录用户注册 ：只需用户名、密码、性别和邮箱属性 
        public User(string name, string password, string gender, string email)
            : this(name, password)
        {
            Name = name;
            Password = password;
            Gender = gender;
            Email = email;
        }
        //重载构造函数，用于登录用户验证 ：只需用户名和密码属性       
        public User(string name, string password)
            : this(name)
        {
            Name = name;
            Password = password;
        }
        //重载构造函数，用于显示已登录用户数据：只需用户名属性
        public User(string name):this()
        {
            Name = name;
        }
        //
        public User() { }
        public int IsCreatUser()
        {
            UserData ud = new UserData();
            return ud.CreatUser(Name, Password, Gender, Email);
        }

        //用户登录是密码和用户名逻辑层验证函数
        public int Login()
        {
            //声明数据层UserDate的实例
            UserData ud = new UserData();
            //调用UserDate中的Login（）方法  验证用户名和密码并返回（1成功，0失败）
            return ud.Login(Name, Password);

        }
        //显示用户基本信息  返回类型为数据层Users的对象
        public DAL.Users Message()
        {
            //声明数据层UserDate的实例
            UserData ud = new UserData();
            //调用数据层查询信息的方法，返回查询到的对象
            return ud.MessageData(Name);
        }
        //用户更改信息处理方法
        public int Change(string name, string password, string gender, string age, string email)
        {
            //声明数据层UserDate的实例
            UserData ud = new UserData();
            //调用数据层查询信息的方法，返回查询到的对象
            return ud.ChangeData(name, password, gender, age, email);
        }
        public int Change(string name, string password) { return 1; }
        //删除用户函数
        public int Del(int id)
        {
            //声明数据层UserDate的实例
            UserData ud = new UserData();
            //调用数据层查询信息的方法，返回查询到的对象
            return ud.DelData(id);
        }
    }
}

